The present disclosure relates to error detecting code. In particular, the present disclosure relates to generating an updated error detecting code for a partial update of data. More specifically, the present disclosure relates to generating an updated error detecting code for a modified data object when an unmodified version of the data object has an existing error detecting code.
Existing object stores often store error detecting codes to validate that data is correct before returning the data to a user or application. However, an error detecting code is no longer valid if the data, for which the error detecting code was generated, is modified. Some existing solutions resolve this problem by simply not allowing data to be modified, so that the error detecting code remains valid. Other solutions require that the entire data object be read, modified, and then a new error detecting code be calculated based on the updated data.
The requirement to read back the entire piece of data and recalculate the error detecting code requires substantial computing and storage device time. Similarly, existing methods do not allow data to be updated while also maintaining the ability to check the integrity of that data.